package pack0706;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

//演示list的创建及各种操作
public class ListDemo {

    public static void main(String[] args) {
        //创建一个有序集合
        List list=new ArrayList();

        //存储数据
        list.add(1);
        list.add(true);
        list.add("abcde");


        //取数据
        //获取单个数据
 //       System.out.println(list.get(0));

        //获取所有的数据:三种方式
        //1.for循环
//        for (int i = 0; i <list.size() ; i++) {
//            System.out.println(list.get(i));
//        }
        //2.迭代器
//        Iterator iterator =list.iterator();
//        while(iterator.hasNext()){
//            System.out.println(iterator.next());
//        }
        //3.采用foreach循环
//        for (Object ob : list) {      //ob指向list中的每一个数据
//            System.out.println(ob);
//        }

        //集合的常用方法:
        //集合是否为空
//        System.out.println("--------------------");
//        System.out.println(list.isEmpty());
//        //获取集合存储了多少个元素
//        System.out.println(list.size());
//        //查询某个数在集合中的位置
//        System.out.println(list.indexOf(true));  //查询true的位置
//        System.out.println(list.indexOf("true")); //查询字符串true在集合中的位置,没有返回-1

        //删除集合中的某个数据
//        System.out.println("----------------------");
////        list.remove(1);
////        System.out.println(list.size());
//        list.remove(true);
//        System.out.println(list.size());
//        for (Object o : list) {
//            System.out.println(o);
//        }

        //清空整个集合
//        System.out.println(list);
//        list.clear();
//        System.out.println(list);


        //注意
        List list1=new ArrayList();

        list1.add(new Person("张无忌",20));
        list1.add(new Person("郭靖",23));
        list1.add(new Person("乔峰",21));
        list1.add(new Person("令狐冲",25));
        list1.add(new Person("张无忌",20));
        list1.add(1);

       System.out.println(list1);  //输出的是内存地址,需要在Person中使用toString方法将内容打印出来

//        list1.remove(new Person("张无忌",20));
//        System.out.println(list1.size());
//
//        list1.remove(new Person("郭靖",20));
//        System.out.println(list1.size());

        int index=list1.indexOf(new Person("令狐冲",20));   //Person中,equals比较只比较名字,与年龄无关
        System.out.println(index);

        System.out.println(list1.size());


    }
}
